An Approach to Ballet Dance Training through MS Kinect and Visualization in a CAVE Virtual Reality Environment
# 概要
- 定量的なフィードバックでダンス練習支援しよう
- CAVE環境でやると,従来のプロジェクタよりもメリット多いはず
- いろいろな可視化方法試してる.
https://gyazo.com/54f9f79880ce4300a716d74a4378674a
https://gyazo.com/140c8301f21f4861c7d685cc251906b1
概要
バレエダンスに着目した研究.
バーチャルリアリティ(VR)環境で生徒が踊るバレエダンスの動きをリアルタイムに捉え、評価し、可視化するための新しいフレームワークを提案.Microsoft(MS)のKinectカメラシステムを用いて撮影された骨格関節のトラッキングデータを取得するとともに,生徒が没頭するCAVE仮想環境において,指導やパフォーマンス評価を3Dビジュアライゼーションとフィードバックの形で提供している.
フレームワークは、球形自己組織化マップ(SSOM)を用いて、バレエダンスの動きを教師なしで構造化された姿勢空間に解析する.SSOM上の姿勢空間を通るジェスチャーの軌跡として表現されるバレエダンスの動きをより適切に反映するために、独自の特徴記述子を提案し,この認識サブシステムは、バーチャル・インストラクターから特定のダンス・シーケンスの実行を促されたときに、生徒がどのような動きをしようとしているのかを特定する.そして、そのダンス・シーケンスはセグメント化され、教師が行ったジェスチャー・コンポーネントのライブラリと相互参照される.よって,ダンスシーケンスの中での個々の動きのアライメントとスコアベースの評価が容易になる.
没入型のインターフェースにより、生徒は自分のパフォーマンスを多くの視点から見直すことができ、またユニークな視点と空間的背景を提供することで、生徒がどのようにトレーニングを改善していけばよいかを示唆できる.
着目するダンスの種類と背景
ダンスジェスチャーの自動認識と,生徒のパフォーマンスやトレーニングを効果的に評価するための3Dビジュアルフィードバックという2つの技術に基づい調査を行う.
クラシックバレエのダンス.
クラシックバレエの技術は、明確な美的理想に基づく.他の形態のダンスと比較して、バレエは高度な技術と規律のあるダンススタイルであり,動きは正確で,強い体幹の安定性と良い姿勢を必要とする.クラシックバレエのテクニックの基本的な理論的原則には、アライメント(胴体の垂直性の維持)、プレースメント(骨盤の中心位置からのずれの最小化)、ターンアウト(下肢の最大の外旋)、エクステンション(下肢の最大の伸展)が含まれる.
伝統的な教育では,生徒に身体的・精神的なスキルを教えるために,デモンストレーション・パフォーマンス法が採用.
この方法では,指導者がデモンストレーションを行い,それを生徒が監督のもとで真似ることになる。インストラクターは、生徒のパフォーマンスにフィードバックを行うが,フィードバックの有効性はインストラクターの能力に大きく依存する.
手法
提案システムでは,MS Kinectを利用して、人間の動きのデータを取得するために、骨格の関節のトラッキングを行う.
パフォーマンスの評価は、CAVEを介して3Dビジュアライゼーションとフィードバックの形で提供する.
オフラインでは,教師の動きは、球形自己組織化マップ(SSOM)上の教師なしの姿勢空間を通じてジェスチャーの軌跡として表現される.
ジェスチャーの軌跡をインデックス化するために、Bag-of-Wordsモデルに基づいた4種類のテンプレートを利用.
オンラインでは,生徒のダンス・シーケンスがセグメント化され,教師が行ったジェスチャー・コンポーネントのライブラリとの相互参照が行われる.よって,ダンスシーケンスの中での個々の動きとスコアベースの評価が容易となる.
バーチャルリアリティの研究の障害は,視野角とインタラクションの自由度が低いこと.これまでのバーチャル・インストラクターによるプレゼンテーションは、スクリーンに映し出された2次元の映像の中でしか見ることができなかった.
しかし,CAVEでは,学習者がさまざまな角度からバーチャルな講師を見ることができ,学習者の視線の動きを追跡することができる.このトラッキングシステムは、スクリーンに表示されるコンテンツを決定するために使用.学習者はバーチャルコンテンツを知覚できる.
提案システムでは、2Dビジュアルスクリーンとヘッドマウントディスプレイ(HMD)の代わりにCAVEを使用し、より良い視野とより自由なインタラクションを提供することで、ダンストレーニングにおける効果的なフィードバックに対応している.
提案システムのアーキテクチャには、4つのコンポーネントが含まれている.
・Kinectモーションキャプチャー
・CAVE
・ジェスチャー認識
・ジェスチャーデータベース.
システムでは,ダンスシーケンス内で実行される一連の動作を認識し,初心者がそのような動作を試みたときに,ダンスシーケンス内でのこれらの動作の発生と継続時間を特定する.認識モジュールは,初心者のパフォーマンスから発生(フェーズ)を抽出し,それを教師(グランドトゥルース)の動きと比較して評価する.教師と生徒の両方のダンスシーケンス(または単独の動き)をVR環境で可視化する.
動作の特徴抽出
バレエのトレーニングは,ある基本姿勢(身体が空間の中で形を切り取り、足、手足、手首、胴体、肩、頭が互いに調和した関係にあり、大部分が基準によって設定されている)から別の姿勢、さらに別の姿勢への移行を繰り返し行うことで構成される.
本研究では,初歩的なバレエの姿勢やトランジションに限定して,初歩的なトランジションを教えるための動きのパターンを認識し,それに基づいてバレエのトレーニングシステムを開発する.
Microsoft Kinectシステムでは,カメラの視野内にいる各プレイヤー(生徒)を表現するために,20個の3次元スケルトンポイントを準備.
特徴抽出に使用するのは,人体の10のパーツ.
胴体を上部胴体と下部胴体の2つに分けて扱う.これらは,左右の腕,左右の前腕,左右の脚,左右の前脚を含む他のパーツの基準として使用.
胴体の上部は、背骨の関節と左右の肩の関節を含み、他の上半身のセグメントのための上部基盤として扱う.同様に,背骨の関節と左右の股関節からなる下半身も、他の下半身セグメントに基準となる座標系を提供することができる.
このシステムでは、上半身と下半身のトルソーを基準とし、これらの基準に対する他の関節の角度を測定する.
ジェスチャー認識
ジェスチャー認識を行うアプローチは,予想されるダンスの動きのスペクトルからサンプルを自動的に解析し,個別の姿勢のセットにする.
これにはSSOM構造が用いられる.一般的にSOMは,学習した姿勢をあらかじめ定義された格子(マップ)上のノードに割り当てたり,ノード間で分散させたりできる.特にSSOMは,最大の意味で分離されるように姿勢を分配するのに適している.
認識の目的は,連続したダンス・パフォーマンスを,リンクされたジェスチャー・ムーブメントのコア・セットに分離またはセグメント化することであり,意味のある指導やパフォーマンスのフィードバックを構築するために,既知の教師の動きと定量的に比較することができる。
・姿勢空間の構築
姿勢空間の構築とは,監督者(教師)のジェスチャー動作のセットから,ランダムな姿勢のサンプル・セットを使用してSSOMをトレーニングすること.これらのサンプルはKinectによってキャプチャされる.
・ジェスチャーテンプレートの構成
個々のジェスチャーテンプレートの学習には,ラベル付けされたジェスチャーシーケンスのセットを学習された姿勢空間に投影する必要がある.入力されたジェスチャーの各姿勢サンプルに対して,BMUを見つけ,このノードを使って入力サンプルにインデックスを付けることで投影を行う.
姿勢の時間的シーケンスをマップに投影した後,インデックスの出力シーケンスが得られる.投影は3次元座標系で定義された球面上のノードインデックスのシーケンス,または個々のノードの位置の軌跡として記述することができる.球面は単位半径であるため、軌道は2次元球面座標のシーケンスと考えることもできる.
本研究では,SSOM上にトレースされたシーケンスまたは軌跡が与えられたジェスチャー・インスタンスおよびクラスについて,いくつかの代替記述子を検討.
(1) 姿勢の出現率(PO
マップ上のノードのインデックス・セットに対するジェスチャーの姿勢の出現率を集計する
(2) 姿勢スパースコード(PSC
スパースコードは姿勢のセットの存在を表すだけで、その出現頻度を表すものではない.例えば、あるジェスチャーが5つの姿勢のセットを含み,そのうちのいくつかが長時間保持される場合,スパースコードはそれらが発生したことを示すだけで,持続時間は考慮されない.
姿勢の存在を時間的に不変に測定することができ、異なる速度で実行される可能性のあるジェスチャーを検出する際に有用.
(3) 姿勢遷移 (PT)
マップ内の任意の2つの姿勢間の遷移の発生に関するヒストグラムを形成することにより,セグメントのバッグを考慮したテンプレートが構築.ジェスチャー内の部分的なシーケンスを照合することにより,姿勢空間を通じたジェスチャーの軌跡の時間的な側面が組み込まれる.
(4) 姿勢遷移スパース・コード(PTSCs
遷移の頻度ではなく、遷移の存在を表す.PTSCの定義では,あるノードからそれ自身への遷移があることが可能である,すなわち、ある動作が短い期間、所定の姿勢にとどまる.これらの遷移の疎なコードを考慮することで,同じ姿勢の中での延長期間が記述子を支配することはない.
・認識フレームワーク
入力されるジェスチャー・ガイドと既知のテンプレートとの間のマッチングを行うため,入力される姿勢のセットをSSOMに投影し,未知の姿勢シーケンスsuを抽出する.この投影は、学生が一連の動作を行った後,または一連の動作を行っているときに行うことができる.
・ダンスの視覚化とユーザ・フィードバック
フィードバックには3つ段階がある.
1:生徒はバーチャルティーチャーがジェスチャーを実演するのを見る(この段階では、データベースからジェスチャーデータを取得する).
2:バーチャル・ティーチャーが行ったダイナミック・フレーズを生徒が再現する.生徒が演奏を終えると,システムのジェスチャー認識機能が起動し,教師の演奏に対応するジェスチャーデータが呼び出され,システムのフィードバックコンポーネントに送信される.
3:生徒は提供されたフィードバックを3Dの臨場感あふれる環境で見る.フィードバックによって、生徒は自分のパフォーマンスがどれだけ先生のパフォーマンスを真似ているかを知る.
生徒のダンスの要素が認識された後,VR環境に基づく没入型の視覚的フィードバックによって,生徒は教師のパフォーマンスとの違いを検証し,自分のパフォーマンスのどの部分を改善する必要があるかを知ることができる.
CAVEシステムでは,教師であるダンサーと生徒がフル3D環境で何度でもパフォーマンスを行うことができ,同時に生徒にも観客の視点からパフォーマンスを見てもらい,かつパフォーマンスの分析結果をリアルタイムで生徒に提示することができる.
ビジュアル・フィードバック・サブシステムでは,以下の3種類のフィードバックと2種類のプレイバックを提供.
・サイド・バイ・サイド
バーチャルモデルでは,徒と教師の最新の演奏を並べて再生し,それぞれが画面の半分に表示される.
このシステムでは,生徒と教師のモデルが向かい合って,ダンス要素を行う場合,観客に背を向けて行う場合,観客に向かって立つ場合などが用意されている.生徒はCAVEの中で,先生のパフォーマンスの画角を調整し,2つの視点からどのように見えるかを調べることができる.
・オーバーレイ。
生徒のパフォーマンスを先生のパフォーマンスに重ねる.
仮想学生の外見は教師の外見とは多少異なるため、視聴者は仮想学生のパフォーマンスを教師のパフォーマンスと区別し,両者がどこで分岐するか,学生が取り組むべき領域を示すことが容易になる.
・スコアグラフ。
学生のパフォーマンスはスコア化され,スコアは数値または曲線 (トレース) の形で学生に提示される.
生徒は自分の動きが先生の動きにどれだけ似ているかを実演時間中に確認することができ,また曲線の展開によって,どこで実演が発散し,どこで収束するかを確認することができる.
・プレイバックモード
バレエのトレーニングにおいて重要な要素の一つは、音楽に合わせて動きを同期させること.
踊りのフレーズの始まりと終わりは特に重要である.このような重要な瞬間における体のパーツの相対的な配置を "キーポスチャー "と呼ぶ.この重要な瞬間を強調するために,ノーマルモード,キーポスチャーモード,テンポモードの3つの再生モードを開発した.
・ノーマルモード:一時停止せずに,30fpsの速度で通常のフィードバックを表示.
・キーポスチャーモード:仮想の生徒と教師の実演はすべて音楽の中のカデンツポイントに一致する.拍子ごとに最大2秒間実演を停止して、2つのキーポスチャーの違いを確認する.2秒が経過すると,両方の演奏が同期して始まる.
・テンポモード:初歩的な生徒にダンスを教える際の重要な問題の一つは,「オン・ザ・ビート」でパフォーマンスをさせること.つまり,キー・ポスチャーが音楽のカデンツ・ポイントで発生するようにタイミングを合わせ,ダンスの要素をリズミカルに実演し,様々な局面で互いに調和的な関係を与える能力を開発することである.仮想的な教師と生徒のパフォーマンスは,それぞれの対応するキーポーズで別々に一時停止することができる.
先生のキー・ポスチャーは正確に拍子に合わせて行われるので,先生はその拍子に合わせて一時停止する.しかし生徒のキーポストは先生の実演に比べて進んだり遅れたりすることがあり,生徒はタイミングの間違いを修正するために自分のスピードをどのように調整すればよいかを知ることができる.全員が2秒間のポーズをとった後、2つのシーケンスは一緒に再生され続ける.
実験(性能評価)
・システムの説明
CAVEには,4台の立体プロジェクタとそれに対応するスクリーンが設置.
5つのノードからなるグラフィックス・クラスターによって駆動され,1つのノードがクラスター・マスターとなり,他の4つのノードが対応するスクリーンを駆動する.ユーザは,固定されたジオメトリの中にいくつかの光の屈折マーカーのターゲットを含むアクティブステレオグラスを装着する.
ユーザの目の位置と向きは,6自由度(6DOF)トラッキングシステムによって追跡される.画面上部に配置されたトラッキングカメラで撮影した画像をもとに,トラッキングサーバーが各ターゲットの位置と姿勢を計算.このトラッキングデータをもとに,スクリーンに表示するコンテンツを決定する.
フィードバックエンジンの実装とKinectセンサーとのインターフェースには、3Dゲームエンジン「Unity」とVisual C#を使用.CAVE内のグラフィックの制御にはMiddleVRを使用.
・ジェスチャー・サブシステムの構成とテストデータ
ジェスチャーの軌跡を学習する,また提案するフレームワークの原理を証明するために,2つのデータセットを構築.
1つは「教師」を表すデータセット:ジェスチャー認識性能の構築とテストの両方に使用
もう1つは「生徒」を表すデータセット:テストのみに使用
このデータベースには,6つの独立したジェスチャーのセットが含まれている.
・姿勢空間の投影の安定性
最初の実験では,繰り返されるジェスチャーのばらつきがどのように姿勢空間にマッピングされるかを観察した.
SSOMと関連するジェスチャーの軌跡を視覚化すると,ジェスチャーのフレーム長と持続時間の違い(フレーム長で最大40%の違い)があっても,ジェスチャーが姿勢空間にマッピングされる一貫性には影響しなかった.
すべてのジェスチャーは、単位球上で非常に特徴的で反復可能な経路をたどっていた.
・静的ジェスチャー評価
SSOMの姿勢空間表現,ジェスチャー・テンプレート定義,およびマッチング基準の性能を評価するために,孤立したジェスチャー・データベース(Teacher)に対して多くの試行を行った.
トレーニング・サンプルとテスト・サンプルの比率を(20%:80%)にした場合と,(40%:60%)にした場合の2つのテスト・ケースを準備.Teacher の全ジェスチャーのうち,20% (例えば,各ジェスチャーの 10 個のインスタンスのうちの 2 個) を無作為に選択してジェスチャーのテンプレートを作成し,残りの 80% をそのテンプレートに対して分類した.
このプロセスを10回繰り返し,クラスごと(入力特徴量と類似度指標のセットごと)に分類の精度を記録した.
結果として,G1,G2,G3,G6(ハイライトされた角度を除く)では,ダンスの特徴である角度が,複数回の試行(それぞれ20%と40%のトレーニングセット)において,より頑健であった.
ジェスチャーG4とG5については,角度の計算にいくつかの不一致があり、それがノイズの原因になっていると考えられる.
ジェスチャーG1~G3、G6では,ダンスの角度が直線的な関節位置の特徴よりも全体的に良い結果となった.しかし,記録されたジェスチャーの動きが単純であったこともあり,すべてのシナリオで認識性能は非常に高かった.
(姿勢発生または姿勢遷移の)スパースコードのヒストグラムが認識性能を向上させることは明らかであると思われる.
さらに、姿勢遷移のスパースコードが全体的に最も良い性能を示していた.姿勢遷移に基づくアプローチ(またはそのスパースコード)は,ジェスチャーの時間的情報を考慮しているので,性能が向上するのは当然であると考えられる.
大規模で複雑なジェスチャーセットを認識する場合,体の姿勢をフィルタリングしたり,ジェスチャーの適切なサブセットにフィルタリングして認識を制限したりするために,位置の特徴がマルチレゾリューションフレームワークに適しているというのはもっともである.一方細かい動きの認識やより複雑な動きの認識には、提案したダンス角度特徴が適している考えられる.
・ジェスチャー認識における汎化性能
この実験では,パフォーマンスにおける基本的なジェスチャーのセットを認識するために開発した方法が,拡張されたジェスチャーのセットに一般化できるかどうかを評価する.前述の6つの姿勢に基づいて、合計N個のジェスチャーを含む新しいジェスチャーのセット「セットI」を定義する.逆転したジェスチャーはジェスチャー「セットII」と定義する.
・生徒の評価に関する結果
サイド・バイ・サイド・フィードバック,オーバーレイ,およびスコアリング・フィードバックが含まれる.
いずれの場合も,生徒は光学マーカー付きのステレオメガネをかけて自分のパフォーマンスを観察しており,3Dでの視覚化が可能となっている.
実験データから,最適な教師のダンスデータを得て,それを各ジェスチャーのテンプレートとして使用した.
ここでの実験は,認識段階の後,生徒のダンスパフォーマンスと教師のテンプレートを比較することを目的としている.
生徒は6回目の繰り返しで約95のスコアで良好なパフォーマンスを発揮し,1回目の生徒のパフォーマンスで最も低いスコアが観察された.また,生徒がダンスを繰り返し,システムからのフィードバックを学習していくうちに,生徒のダンスのジェスチャーが教師に近づいていくことが観察できた.
このシステムをさらに発展させるために、より難しい振り付けを使用することを検討.
生徒のパフォーマンスと教師のパフォーマンスの間の最初の乖離がより大きくなり,繰り返しの試行で検出される収束の量が増加することが期待される.
まとめ
バーチャルリアリティ(VR)環境で生徒が行うバレエダンスの動きをリアルタイムにキャプチャし,評価,視覚化するための新しいフレームワークの実装を行った.
関節の位置の特徴と提案されたダンスの特徴(ダンサーの上下の胴体に対する関節の角度に基づく)の両方を用いて,球形の自己組織化マップを学習し,典型的なバレエのフォーメーションで示される姿勢の空間を量子化する.この空間に姿勢のシーケンスを投影することで,ジェスチャーの軌跡が形成される.これは,指導用セットとして使用するための所定のダンス動作のライブラリをテンプレート化するために使用される.
あるジェスチャクラスに固有のジェスチャ軌道を描写するために,4つの異なるヒストグラムモデルを考慮.
(それぞれ、姿勢の発生、姿勢の遷移、姿勢の発生と遷移に関連するスパースコード).
認識性能は,教師と生徒の独立したジェスチャーのデータベースを対象に,3種類のマッチング手法(L1ノルム、L2ノルム、ヒストグラム交点)を用いて評価した.その結果,平均認識率は90.5%〜99.5%であり,ダンスの特徴はロバスト性が向上していた(G4とG5のジェスチャーの録音不良やノイズによって生じたエラーを除く).
姿勢の遷移を記述子として組み込むことで,使用したすべてのマッチング指標において認識性能が著しく向上した.これは、姿勢の時間的順序を検出したことに起因する。
4つの記述子すべてにBag-of-Segmentsアプローチを採用することで,候補となるユーザから記録された動きに柔軟に対応し,一般化することができた.しかし,動きを繰り返す際の人間の自然な変化やKinectによってもたらされるセンサーノイズが原因で困難になる可能性がある.
認識評価は,オンラインの場合にも拡張され,連続したジェスチャーからなるダンスを,ベイズ方式の認識器を用いてオンラインでセグメント化した.この方式は、特に姿勢の遷移に基づく記述子を採用したテンプレートに適用した場合,学生のダンスの動きを構成するジェスチャー単位に効果的に分割することができる.
視覚化サブシステムは,検出されたジェスチャーユニットを教師ベースのジェスチャーのライブラリと比較し,没入感のある視覚的なフィードバックを生徒に提示することで,生徒のパフォーマンスを定量化する.
フィードバックには,生徒の動作を教師の動作と比較するための2つの視覚モードと,トレーニングセッションを定量化するための総合的なスコアコンポーネントが用意されている.
CAVEが提供する仮想環境により,生徒は自分のパフォーマンスを体験し,それが行われたのと同じ空間的状況で評価することができた.よってインタラクティブなトレーニングセッションの中で,制定されたダンスの動きをどのように調整し,改善するかについてのユニークな洞察と提案が得られると期待できる.
# 感想
- イントロしか読んでない
- 提案自体は面白くなさそう
- イントロの書き方が参考になった ストリートダンスでも一部同じようなことが言えそう.
Classical ballet techniques are based on distinct aesthetic ideals.
Compared with other forms of dance, ballet is a highly technical and disciplined style of dance.
Movements are of an exacting precision and rely on strong core stability and good posture.